Hasta el año 2005, el grupo de
trabajo de
Kerberos de la IETF se encuentra actualizando las
especificaciones de este protocolo.
Actualizaciones recientes incluyen:
- Especificación de cifrado y código de chequeo de errores (RFC
3961). - Cifrado por "AES para Kerberos 5" (RFC
3962). - Una nueva versión de la especificación
de Kerberos 5: "El servicio de
autenticación Kerberos (V5)" (RFC 4120). Esta
versión hace obsoleta a la RFC 1510, clarifica aspectos
del protocolo y de su uso esperado en mayor detalle y una
explicación más clara. - Una nueva edición de la especificación de la
interfaz de programa de
aplicación de servicios de
seguridad
genéricos: "El mecanismo de interfaz de programa de
aplicación de servicios de seguridad genéricos
(GSS-API) de Kerberos Version 5: Version 2." (RFC
4121).
4.- FUNCIONAMIENTO GENERAL DE
KERBEROS
- Cada usuario dispone de una clave.
- Cada servidor
dispone de una clave. - Kerberos mantiene una base de
datos que contendrá a todas estas
claves. - La clave e un usuario será derivada de su
contraseña y estará cifrada. - La clave de un servidor se genera
aleatoriamente. - Los servicios de red que requieren
autenticación, así como los usuarios que
requieran estos servicios, se deben registrar con
Kerberos. - Las claves privadas se negocian cuando los usuarios
se registran. - Kerberos, en conocimiento
de todas las claves privadas, crea mensajes para informar a un
servidor de la autenticidad de un usuario que requiere
servicios de éste.
5.- NIVELES DE PROTECCIÓN DE
KERBEROS
Autenticación
Prueba que el usuario es quien dice ser. Puede ser que
la autenticidad se establezca al inicio de la conexión
de red y luego se asuma que los siguientes mensajes de una
dirección de red determinada se originan
desde la parte autenticada.
Integridad de datos
Asegura que los datos no se
modifican en tránsito. Se requiere autenticación
de cada mensaje, sin importar el contenido del mismo. Esto se
denomina mensaje seguros.
Privacidad de datos
Asegura que los datos no son leídos en
tránsito. En este caso, no sólo se autentica cada
mensaje, sino que también se cifra. Éstos
mensajes son privados.
6.-
ARQUITECTURA DE KERBEROS
Un servidor Kerberos se denomina KDC (Kerberos
Distribution Center), y provee dos servicios fundamentales:
el de autenticación (AS, Authentication
Service) y el de tickets (TGS, Ticket
Granting Service). El primero tiene como función
autenticar inicialmente a los clientes y
proporcionarles un ticket para comunicarse con el segundo,
el servidor de tickets, que proporcionará a los
clientes las credenciales necesarias para comunicarse con un
servidor final que es quien realmente ofrece un servicio.
Además, el servidor posee una base de datos de sus
clientes (usuarios o programas) con
sus respectivas claves privadas, conocidas únicamente por
dicho servidor y por el cliente que al
que pertenece.
La arquitectura de Kerberos está basada en
tres objetos de seguridad: Clave de Sesión,
Ticket y Autenticador.
- La clave de sesión es una clave secreta
generada por Kerberos y expedida a un cliente para uso
con un servidor durante una sesión de
trabajo. - El ticket es un testigo expedido a un cliente
del servicio de tickets de Kerberos para
solicitar los servicios de un servidor. El ticket
garantiza que el cliente ha sido autenticado
recientemente. - El autenticador es un testigo construido por
el cliente y enviado a un servidor para probar su identidad y
la actualidad de la
comunicación. Sólo puede ser utilizado una
vez.
A pesar de que Kerberos elimina una amenaza de seguridad
común, puede ser difícil de implementar por una
variedad de razones:
- La migración de contraseñas de
usuarios desde una base de datos de contraseñas
estándar UNIX, tal
como /etc/passwd o /etc/shadow, a una base de datos de
contraseñas Kerberos, puede ser tediosa y no hay un
mecanismo rápido para realizar esta tarea. - Kerberos presupone que cada usuario es de confianza,
pero que está utilizando una máquina no fiable en
una red no
fiable. Su principal objetivo es
el de prevenir que las contraseñas no cifradas sean
enviadas a través de la red. Sin embargo, si cualquier
otro usuario, aparte del usuario adecuado, tiene acceso a la
máquina que emite tickets (KDC) para la
autenticación, Kerberos estaría en riesgo. - Para que una aplicación use Kerberos, el
código debe ser modificado para hacer las llamadas
apropiadas a las librerías de Kerberos. Las aplicaciones
que son modificadas de esta forma son consideradas como
kerberizadas. Para algunas aplicaciones, esto puede
suponer un esfuerzo excesivo de programación, debido al tamaño de
la aplicación o su diseño. Para otras aplicaciones
incompatibles, los cambios se deben realizar en el modo en que
el servidor de red y sus clientes se comunican; de nuevo, esto
puede suponer bastante programación. En general, las
aplicaciones de código cerrado que no tienen soporte de
Kerberos son usualmente las más
problemáticas. - Finalmente, si decide usar Kerberos en su red, debe
darse cuenta de que es una elección de todo o nada. Si
decide usar Kerberos en su red, debe recordar que si se
transmite cualquier contraseña a un servicio que no usa
Kerberos para autenticar, se corre el riesgo de que el paquete
pueda ser interceptado. Así, su red no obtendrá
ningún beneficio de usar Kerberos. Para asegurar su red
con Kerberos, solo debe utilizar las versiones
kerberizadas de todas las aplicaciones
cliente/servidor que envíen contraseñas sin
cifrar o no utilizar ninguna de estas aplicaciones en la
red.
8.-
CONCLUSIONES
Kerberos fue creado por el MIT como una solución
para los problemas de
seguridad de la red. El protocolo de Kerberos usa una criptografía fuerte con el propósito
de que un cliente pueda demostrar su identidad a un servidor (y
viceversa) a través de una conexión de red
insegura. Después de que un cliente/servidor han
conseguido a través de Kerberos demostrar su identidad,
también pueden cifrar todas sus comunicaciones
para garantizar la privacidad y la integridad de los datos
intercambiados.
Kerberos está disponible gratuitamente en el MIT,
bajo permisos de derechos de
autor muy similares a aquellos que usaron para el sistema operativo
de BSD y el X Window System. El MIT provee el código
fuente de Kerberos con el propósito de que quienquiera que
desee usarlo pueda estudiar el código y así
asegurarse de que el código es digno de confianza.
Además, para aquellos que prefieren depender de un
producto con
un soporte profesional, Kerberos está disponible a
través de muchos distribuidores diferentes como producto
comercial.
En resumen, Kerberos es una solución para ciertos
problemas de seguridad de la red. Provee las herramientas
de autenticación y criptografía reforzada a
través de la red para ayudar a asegurar que los sistemas de
información de una empresa o
corporación están bien resguardados.
Sin embargo, y aunque se trate de un sistema robusto, no
está exento de ciertos problemas, tanto de seguridad como
de implementación, que han hecho que este sistema no
esté todo lo extendido que debería.
9.- FUENTES
BIBLIOGRÁFICAS
M.I.T., "Kerberos: The Network Authentication
Protocol".
web.mit.edu/Kerberos/
Diciembre 6, 2007.
Wikipedia, "Kerberos".
es.wikipedia.org/wiki/Kerberos
Diciembre 6, 2007.
USC's Center for Computer Systems Security, "The
Kerberos Network Authentication Service".
Diciembre 6, 2007.
Kerberos Consortium, "Kerberos".
Diciembre 6, 2007.
AUTOR
Leonardo Muro García
Universidad Nueva Esparta
Facultad de Ciencias
Caracas, Venezuela
21 de Noviembre de 2007
Página anterior | Volver al principio del trabajo | Página siguiente |